#ifndef __LRF_H__
#define __LRF_H__

//Local Register File
// This contains values to be sent to the ALUs
#define LRF_SIZE 32*4
#define LRF_DEFUALT_VALUE 0
#define LRF2_DEFUALT_VALUE 0.0f
#define LRF_UNDEFINED 0
#define LRF_INT 1
#define LRF_FLOAT 2

class LRF
{

public:
	LRF();
	int  write(int loc, unsigned char value);
	int  write(int loc, int value);
	int  write(int loc, float value);
	int  read(int loc, unsigned char& value);
	int  read(int loc, int& value);
	int  read(int loc, float& value);
	int  clear();

private:
	//int lrf[LRF_SIZE];
	//float lrf2[LRF_SIZE/2];
	//unsigned char lrf_stat[LRF_SIZE];
	unsigned char lrf[LRF_SIZE]; 

};

#endif